package com.langchain4j.core.flow.context;

/**
 * 流程日志记录器接口
 */
public interface FlowLogger {
    
    /**
     * 记录普通日志
     * @param executionId 执行ID
     * @param nodeId 节点ID
     * @param message 日志消息
     */
    void log(String executionId, String nodeId, String message);
    
    /**
     * 记录错误日志
     * @param executionId 执行ID
     * @param nodeId 节点ID
     * @param message 错误消息
     * @param error 异常对象
     */
    void logError(String executionId, String nodeId, String message, Throwable error);
    
    /**
     * 记录警告日志
     * @param executionId 执行ID
     * @param nodeId 节点ID
     * @param message 警告消息
     */
    void logWarning(String executionId, String nodeId, String message);
    
    /**
     * 记录调试日志
     * @param executionId 执行ID
     * @param nodeId 节点ID
     * @param message 调试消息
     */
    void logDebug(String executionId, String nodeId, String message);
} 